package co.baiku.boot.v3.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.io.Serializable;
import java.util.List;

/**
 * 收款信息
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class WeixinPayScoreCollection implements Serializable {
    /**
     * [必填] 收款状态
     * <pre>
     * USER_PAYING：待支付
     * USER_PAID：已支付
     * 示例值：USER_PAID
     * </pre>
     */
    private String state;
    /**
     * 总收款金额
     * <pre>
     * 总金额，大于等于0的数字，单位为分，只能为整数，详见支付金额。
     * 此参数需满足：总金额=付费项目金额之和-商户优惠项目金额之和，且小于等于订单风险金额 。未使用服务、取消订单时，该字段必须为0。
     * 示例值：50000
     * </pre>
     */
    @JsonProperty("total_amount")
    private int totalAmount;

    /**
     * 待收金额
     * <pre>
     * 等待用户付款金额，只能为整数，详见支付金额。
     * 示例值：40000
     * </pre>
     */
    @JsonProperty("paying_amount")
    private int payingAmount;

    /**
     * 已收金额
     * <pre>
     * 用户已付款的金额，只能为整数，详见支付金额。
     * 示例值：10000
     * </pre>
     */
    @JsonProperty("paid_amount")
    private int paidAmount;
    /**
     * 收款明细列表
     */
    private List<WeixinPayScorePaidDetial> details;


    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public int getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(int totalAmount) {
        this.totalAmount = totalAmount;
    }

    public int getPayingAmount() {
        return payingAmount;
    }

    public void setPayingAmount(int payingAmount) {
        this.payingAmount = payingAmount;
    }

    public int getPaidAmount() {
        return paidAmount;
    }

    public void setPaidAmount(int paidAmount) {
        this.paidAmount = paidAmount;
    }

    public List<WeixinPayScorePaidDetial> getDetails() {
        return details;
    }

    public void setDetails(List<WeixinPayScorePaidDetial> details) {
        this.details = details;
    }
}
